// 基本数据类型
// number  数值  整数和小数
// String  字符串 (字符)  单双引号包括
// bool    true/false
// null    没有
// undefined   未定义 根据后面的值定义的
// smybol  es6

var a;
console.log(typeof a);

//object: 正则，数组对象 字面量(json对象)
// function  方法



// json xml （扩充）
// 序列化  反序列化
JSON.stringify();
JSON.parse();

// var stu={
//     id:10001,
//     name:"张三"
// }
var stu=JSON.parse(' {"id":10001,"name":"张三"}')
console.log(stu.id);

var a=10;
{
    a=20;
}
console.log(a);                                                                                         


//+   -   *   /  %  除了 + 有其他的作用 其他符号都正常运算
var a=3-"1";
console.log(a);

var a=0.1+0.2;
console.log(a);
// 0.30000000000000004   二进制的问题

var a=(0.1*10+0.2*10)/10;
console.log(a);

// = 赋值  == 比较值  === 绝对等 类型相同 数值相同
console.log(a=2);
console.log(a=="2");
console.log(a==="2");
console.log(a===2);

// parseInt 取整  81.5=>81
// paresefloat
// isNaN not a Number

//86
var a =parseInt("86.5");
console.log(a);
//86
var a =parseInt("86a.5");
console.log(a);
//8
var a =parseInt("8a6.5");
console.log(a);

//四舍五入
var a =parseInt(86.99+0.5);
console.log(a);


//带参数
function sum(a,b){
    return a+b;
}
var a=sum(3,4);
console.log(a);

//arguments 数组 所有参数数组  严格来说伪数组 可以使用下标
function sum(){
    console.log(arguments);
    return 1;
}
var a=sum(3,4,5);
console.log(a);


//数组可以放很多东西
var arr=[1,"2",3,function(){}];
console.log(arr);


var arr=new Array();
arr[0]=1;
arr[1]=2;
arr[2]=3;
console.log(arr);

// arr.shift();头部删除  删除第一个
var arr=[1,2,3,4,5];
arr.shift();
console.log(arr);

// arr.unshift(); 头部添加 添加什么显示什么 
var arr=[1,2,3,4,5];
arr.unshift();
console.log(arr);

// arr.push();尾部添加  添加什么显示什么
var arr=[1,2,3,4,5];
arr.push();
console.log(arr);

// arr.pop();尾部删除  删除最后一个
var arr=[1,2,3,4,5];
arr.pop();
console.log(arr);

//返回值
var arr=[1,2,3,4,5];
var re=arr.shift();
console.log(arr,re);

// arr.splice(下标 开始位置,删除的数量,添加数据（替换删除的数据）)
var arr=[1,2,3,4,5]
arr.splice(2,0,8,9);
console.log(arr);





